package javaStudy.io流;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
//1
public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        /*
        创建文件输出流，在指定路径的文件中写数据
        执行了三个步骤，调用系统功能创建文件，创建字节输出流对象，让字节输出流指向文件
        如果文件存在，会覆盖文件
         */
        FileOutputStream fos=new FileOutputStream("D:\\itcast\\fos.txt");

        /*
         写数据的三种方法
         写数字的时候是ASCII码，到文件会转换为字符
         写字符到文件时就是对应的字符
         */
        byte[] bytes={97,98,99,100,101};
        byte[] bytes1="asdf".getBytes();//返回一个asdf的byte数组
        fos.write(55);//一次写一个int类型的数字
        fos.write("\r\n".getBytes());//  "/r/n"是windows的换行符
        fos.write(bytes);//一次写一个数组
        fos.write("\r\n".getBytes());//  "/r/n"是windows的换行符
        fos.write(bytes1);//一次写一个数组
        fos.write("\r\n".getBytes());//  "/r/n"是windows的换行符
        fos.write(bytes1,1,3);//从bytes数组索引1的位置开始写，写长度为3
        //释放资源
        fos.close();

        //如果文件存在，不会覆盖文件，会在文件末尾写数据
        FileOutputStream fos1 =new FileOutputStream("D:\\itcast\\fos.txt",true);
        fos1.write(58);
    }
}
